[INFO] cloning repository https://github.com/perryqh/codecrafters-redis-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/perryqh/codecrafters-redis-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fperryqh%2Fcodecrafters-redis-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fperryqh%2Fcodecrafters-redis-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8b02e2e25a951ef7d2eb1719fbd139b9bdafdbca
[INFO] fixing perryqh/codecrafters-redis-rust against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fperryqh%2Fcodecrafters-redis-rust" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/perryqh/codecrafters-redis-rust
[INFO] finished tweaking git repo https://github.com/perryqh/codecrafters-redis-rust
[INFO] tweaked toml for git repo https://github.com/perryqh/codecrafters-redis-rust written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/perryqh/codecrafters-redis-rust on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/perryqh/codecrafters-redis-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-test v0.4.4
[INFO] [stderr]   Downloaded cc v1.0.94
[INFO] [stderr]   Downloaded is-terminal v0.4.12
[INFO] [stderr]   Downloaded proc-macro2 v1.0.80
[INFO] [stderr]   Downloaded clap_lex v0.3.3
[INFO] [stderr]   Downloaded syn v2.0.59
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 30a1a80df398837ff14c1d6a0a7a2a7efa218c6cd6becb3dc60ff83e1e4538fb
[INFO] running `Command { std: "docker" "start" "30a1a80df398837ff14c1d6a0a7a2a7efa218c6cd6becb3dc60ff83e1e4538fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "30a1a80df398837ff14c1d6a0a7a2a7efa218c6cd6becb3dc60ff83e1e4538fb" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "30a1a80df398837ff14c1d6a0a7a2a7efa218c6cd6becb3dc60ff83e1e4538fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "30a1a80df398837ff14c1d6a0a7a2a7efa218c6cd6becb3dc60ff83e1e4538fb" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.80
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling autocfg v1.2.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]    Compiling anyhow v1.0.82
[INFO] [stderr]     Checking os_str_bytes v6.6.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking base64 v0.22.0
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking clap_lex v0.3.3
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking parking_lot_core v0.9.9
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking socket2 v0.5.6
[INFO] [stderr]     Checking is-terminal v0.4.12
[INFO] [stderr]    Compiling syn v2.0.59
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking atoi v2.0.0
[INFO] [stderr]    Compiling clap_derive v4.0.21
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]    Compiling async-trait v0.1.80
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]     Checking async-stream v0.3.5
[INFO] [stderr]     Checking clap v4.0.32
[INFO] [stderr]     Checking tokio-stream v0.1.15
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]     Checking redis-starter-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `array_of_bulks`
[INFO] [stdout]  --> src/command/repl_conf.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{array_of_bulks, comms::Comms, frame::Frame, parse::Parse, store::Store};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `array_of_bulks`
[INFO] [stdout]  --> src/command/repl_conf.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{array_of_bulks, comms::Comms, frame::Frame, parse::Parse, store::Store};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode
[INFO] [stdout]   --> src/store.rs:56:28
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let data = base64::decode(EMPTY_RDB).unwrap();
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode
[INFO] [stdout]   --> src/store.rs:56:28
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let data = base64::decode(EMPTY_RDB).unwrap();
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]   --> src/replicator.rs:40:32
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Some(Frame::Simple(response)) => {
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_name` is never used
[INFO] [stdout]   --> src/command/unknown.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Unknown {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub(crate) fn get_name(&self) -> &str {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kind` is never read
[INFO] [stdout]  --> src/command/info.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Info {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 8 |     kind: Bytes,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Info` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `listening_port` and `capabilities` are never read
[INFO] [stdout]  --> src/command/repl_conf.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ReplConf {
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 7 |     /// The replication server listening port
[INFO] [stdout] 8 |     listening_port: Option<u16>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     capabilities: Vec<String>,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ReplConf` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `master_replid` and `master_repl_offset` are never read
[INFO] [stdout]  --> src/command/psync.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Psync {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 5 |     /// Comes from the follower. It must be sending the master_replid so we can confirm it's us
[INFO] [stdout] 6 |     master_replid: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 7 |     master_repl_offset: Option<i64>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Psync` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push_int` is never used
[INFO] [stdout]   --> src/frame.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Frame {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub(crate) fn push_int(&mut self, value: u64) -> anyhow::Result<()> {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]   --> src/replicator.rs:40:32
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Some(Frame::Simple(response)) => {
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_name` is never used
[INFO] [stdout]   --> src/command/unknown.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Unknown {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub(crate) fn get_name(&self) -> &str {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kind` is never read
[INFO] [stdout]  --> src/command/info.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Info {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 8 |     kind: Bytes,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Info` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `listening_port` and `capabilities` are never read
[INFO] [stdout]  --> src/command/repl_conf.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ReplConf {
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 7 |     /// The replication server listening port
[INFO] [stdout] 8 |     listening_port: Option<u16>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     capabilities: Vec<String>,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ReplConf` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `master_replid` and `master_repl_offset` are never read
[INFO] [stdout]  --> src/command/psync.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Psync {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 5 |     /// Comes from the follower. It must be sending the master_replid so we can confirm it's us
[INFO] [stdout] 6 |     master_replid: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 7 |     master_repl_offset: Option<i64>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Psync` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_run_replication` is never used
[INFO] [stdout]    --> src/replicator.rs:126:14
[INFO] [stdout]     |
[INFO] [stdout] 126 |     async fn test_run_replication() -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `store`
[INFO] [stdout]    --> tests/server.rs:193:16
[INFO] [stdout]     |
[INFO] [stdout] 193 |     let (addr, store) = start_server().await;
[INFO] [stdout]     |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_store`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.71s
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "30a1a80df398837ff14c1d6a0a7a2a7efa218c6cd6becb3dc60ff83e1e4538fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30a1a80df398837ff14c1d6a0a7a2a7efa218c6cd6becb3dc60ff83e1e4538fb", kill_on_drop: false }`
[INFO] [stdout] 30a1a80df398837ff14c1d6a0a7a2a7efa218c6cd6becb3dc60ff83e1e4538fb
